[INFO] cloning repository https://github.com/sarahhodne/travis-build-rs
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/sarahhodne/travis-build-rs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsarahhodne%2Ftravis-build-rs", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsarahhodne%2Ftravis-build-rs'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 9f3185eb567fc0dd0029016a053e309e86d0e94a
[INFO] building sarahhodne/travis-build-rs against master#881c1ac408d93bb7adaa3a51dabab9266e82eee8 for issue-85264
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsarahhodne%2Ftravis-build-rs" "/workspace/builds/worker-6/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/sarahhodne/travis-build-rs on toolchain 881c1ac408d93bb7adaa3a51dabab9266e82eee8
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+881c1ac408d93bb7adaa3a51dabab9266e82eee8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/sarahhodne/travis-build-rs
[INFO] finished tweaking git repo https://github.com/sarahhodne/travis-build-rs
[INFO] tweaked toml for git repo https://github.com/sarahhodne/travis-build-rs written to /workspace/builds/worker-6/source/Cargo.toml
[INFO] crate git repo https://github.com/sarahhodne/travis-build-rs already has a lockfile, it will not be regenerated
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+881c1ac408d93bb7adaa3a51dabab9266e82eee8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:20528e8c29e4536546f0102ce88568b16ea7538393a33fcca951030f7af10457" "/opt/rustwide/cargo-home/bin/cargo" "+881c1ac408d93bb7adaa3a51dabab9266e82eee8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] [stdout] 2614da2e0da0ccf48feceadb98ed97adc5717919c4fe76914e3a3c9e2f145173
[INFO] running `Command { std: "docker" "start" "-a" "2614da2e0da0ccf48feceadb98ed97adc5717919c4fe76914e3a3c9e2f145173", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "2614da2e0da0ccf48feceadb98ed97adc5717919c4fe76914e3a3c9e2f145173", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2614da2e0da0ccf48feceadb98ed97adc5717919c4fe76914e3a3c9e2f145173", kill_on_drop: false }`
[INFO] [stdout] 2614da2e0da0ccf48feceadb98ed97adc5717919c4fe76914e3a3c9e2f145173
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:20528e8c29e4536546f0102ce88568b16ea7538393a33fcca951030f7af10457" "/opt/rustwide/cargo-home/bin/cargo" "+881c1ac408d93bb7adaa3a51dabab9266e82eee8" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 7f21bd668ced6adce40903fc0ca576f67db18f78d349b7ec31c9d94e38bea793
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "7f21bd668ced6adce40903fc0ca576f67db18f78d349b7ec31c9d94e38bea793", kill_on_drop: false }`
[INFO] [stderr]    Compiling travis_build v0.0.1 (/opt/rustwide/workdir)
[INFO] [stdout] error: macros that expand to items must be delimited with braces or followed by a semicolon
[INFO] [stdout]   --> src/ast/mod.rs:53:21
[INFO] [stdout]    |
[INFO] [stdout] 53 |   macro_rules! ast_if (
[INFO] [stdout]    |  _____________________^
[INFO] [stdout] 54 | |     ($cond:expr { $($body:expr;)* }) => (::ast::If($cond, box ast_block! { $($body);* }, box ::ast::Noop));
[INFO] [stdout] 55 | |     ($cond:expr { $($body:expr;)* } else { $($elsebody:expr;)* }) => (::ast::If($cond, box ast_block!{ $($body);* }, box ast_block! { $($...
[INFO] [stdout] 56 | | )
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout] help: change the delimiters to curly braces
[INFO] [stdout]    |
[INFO] [stdout] 53 | macro_rules! ast_if {
[INFO] [stdout] 54 |     ($cond:expr { $($body:expr;)* }) => (::ast::If($cond, box ast_block! { $($body);* }, box ::ast::Noop));
[INFO] [stdout] 55 |     ($cond:expr { $($body:expr;)* } else { $($elsebody:expr;)* }) => (::ast::If($cond, box ast_block!{ $($body);* }, box ast_block! { $($elsebody);* }))
[INFO] [stdout] 56 | }
[INFO] [stdout]    |
[INFO] [stdout] help: add a semicolon
[INFO] [stdout]    |
[INFO] [stdout] 56 | );
[INFO] [stdout]    |  ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: macros that expand to items must be delimited with braces or followed by a semicolon
[INFO] [stdout]   --> src/ast/mod.rs:59:24
[INFO] [stdout]    |
[INFO] [stdout] 59 |   macro_rules! format_cmd(
[INFO] [stdout]    |  ________________________^
[INFO] [stdout] 60 | |         ([$($opts:ident)|*], $($arg:tt)*) => (::ast::Cmd(::ast::Raw(format!($($arg)*)), vec![$(::ast::$opts),*]));
[INFO] [stdout] 61 | |         ($($arg:tt)*) => (::ast::Cmd(::ast::Raw(format!($($arg)*)), vec![]))
[INFO] [stdout] 62 | | )
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout] help: change the delimiters to curly braces
[INFO] [stdout]    |
[INFO] [stdout] 59 | macro_rules! format_cmd{
[INFO] [stdout] 60 |         ([$($opts:ident)|*], $($arg:tt)*) => (::ast::Cmd(::ast::Raw(format!($($arg)*)), vec![$(::ast::$opts),*]));
[INFO] [stdout] 61 |         ($($arg:tt)*) => (::ast::Cmd(::ast::Raw(format!($($arg)*)), vec![]))
[INFO] [stdout] 62 | }
[INFO] [stdout]    |
[INFO] [stdout] help: add a semicolon
[INFO] [stdout]    |
[INFO] [stdout] 62 | );
[INFO] [stdout]    |  ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: macros that expand to items must be delimited with braces or followed by a semicolon
[INFO] [stdout]   --> src/ast/mod.rs:65:17
[INFO] [stdout]    |
[INFO] [stdout] 65 |   macro_rules! cmd(
[INFO] [stdout]    |  _________________^
[INFO] [stdout] 66 | |     ([$($opts:ident)|*], $cmd:expr) => (::ast::Cmd($cmd, vec![$(::ast::$opts),*]));
[INFO] [stdout] 67 | |     ($cmd:expr) => (::ast::Cmd($cmd, vec![]))
[INFO] [stdout] 68 | | )
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout] help: change the delimiters to curly braces
[INFO] [stdout]    |
[INFO] [stdout] 65 | macro_rules! cmd{
[INFO] [stdout] 66 |     ([$($opts:ident)|*], $cmd:expr) => (::ast::Cmd($cmd, vec![$(::ast::$opts),*]));
[INFO] [stdout] 67 |     ($cmd:expr) => (::ast::Cmd($cmd, vec![]))
[INFO] [stdout] 68 | }
[INFO] [stdout]    |
[INFO] [stdout] help: add a semicolon
[INFO] [stdout]    |
[INFO] [stdout] 68 | );
[INFO] [stdout]    |  ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: macros that expand to items must be delimited with braces or followed by a semicolon
[INFO] [stdout]   --> src/ast/mod.rs:71:21
[INFO] [stdout]    |
[INFO] [stdout] 71 |   macro_rules! ast_set(
[INFO] [stdout]    |  _____________________^
[INFO] [stdout] 72 | |     ($key:ident = $value:expr) => (cmd!(ast::Envset(stringify!($key).to_string(), $value)));
[INFO] [stdout] 73 | | )
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout] help: change the delimiters to curly braces
[INFO] [stdout]    |
[INFO] [stdout] 71 | macro_rules! ast_set{
[INFO] [stdout] 72 |     ($key:ident = $value:expr) => (cmd!(ast::Envset(stringify!($key).to_string(), $value)));
[INFO] [stdout] 73 | }
[INFO] [stdout]    |
[INFO] [stdout] help: add a semicolon
[INFO] [stdout]    |
[INFO] [stdout] 73 | );
[INFO] [stdout]    |  ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: macros that expand to items must be delimited with braces or followed by a semicolon
[INFO] [stdout]   --> src/ast/mod.rs:88:23
[INFO] [stdout]    |
[INFO] [stdout] 88 |   macro_rules! ast_block(
[INFO] [stdout]    |  _______________________^
[INFO] [stdout] 89 | |     { $($x:expr);* } => (::ast::Statements(box vec![$($x),*]));
[INFO] [stdout] 90 | |     { $($x:expr;)* } => (ast_block! { $($x);* })
[INFO] [stdout] 91 | | )
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout] help: change the delimiters to curly braces
[INFO] [stdout]    |
[INFO] [stdout] 88 | macro_rules! ast_block{
[INFO] [stdout] 89 |     { $($x:expr);* } => (::ast::Statements(box vec![$($x),*]));
[INFO] [stdout] 90 |     { $($x:expr;)* } => (ast_block! { $($x);* })
[INFO] [stdout] 91 | }
[INFO] [stdout]    |
[INFO] [stdout] help: add a semicolon
[INFO] [stdout]    |
[INFO] [stdout] 91 | );
[INFO] [stdout]    |  ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: macros that expand to items must be delimited with braces or followed by a semicolon
[INFO] [stdout]   --> src/payload.rs:43:22
[INFO] [stdout]    |
[INFO] [stdout] 43 |   macro_rules! json_to (
[INFO] [stdout]    |  ______________________^
[INFO] [stdout] 44 | |     ($r:expr, String) => ($r.as_string());
[INFO] [stdout] 45 | |     ($r:expr, bool) => ($r.as_boolean());
[INFO] [stdout] 46 | |     ($r:expr, u64) => ($r.as_u64());
[INFO] [stdout] 47 | |     ($r:expr, $t:ident) => (Some(try!($t::from_json($r))));
[INFO] [stdout] 48 | | )
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout] help: change the delimiters to curly braces
[INFO] [stdout]    |
[INFO] [stdout] 43 | macro_rules! json_to {
[INFO] [stdout] 44 |     ($r:expr, String) => ($r.as_string());
[INFO] [stdout] 45 |     ($r:expr, bool) => ($r.as_boolean());
[INFO] [stdout] 46 |     ($r:expr, u64) => ($r.as_u64());
[INFO] [stdout] 47 |     ($r:expr, $t:ident) => (Some(try!($t::from_json($r))));
[INFO] [stdout] 48 | }
[INFO] [stdout]    |
[INFO] [stdout] help: add a semicolon
[INFO] [stdout]    |
[INFO] [stdout] 48 | );
[INFO] [stdout]    |  ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: macros that expand to items must be delimited with braces or followed by a semicolon
[INFO] [stdout]   --> src/payload.rs:50:23
[INFO] [stdout]    |
[INFO] [stdout] 50 |   macro_rules! find_key (
[INFO] [stdout]    |  _______________________^
[INFO] [stdout] 51 | |         ($j:expr, $t:ident, $key:expr) => (match $j.find(&*::std::string::as_string($key)) {
[INFO] [stdout] 52 | |             Some(v) => try!(json_to!(v, $t).ok_or(json::ApplicationError(format!("{} must be a string", $key)))),
[INFO] [stdout] 53 | |             None => return Err(json::MissingFieldError($key.to_string())),
[INFO] [stdout] ...  |
[INFO] [stdout] 59 | |         });
[INFO] [stdout] 60 | | )
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout] help: change the delimiters to curly braces
[INFO] [stdout]    |
[INFO] [stdout] 50 | macro_rules! find_key {
[INFO] [stdout] 51 |         ($j:expr, $t:ident, $key:expr) => (match $j.find(&*::std::string::as_string($key)) {
[INFO] [stdout] 52 |             Some(v) => try!(json_to!(v, $t).ok_or(json::ApplicationError(format!("{} must be a string", $key)))),
[INFO] [stdout] 53 |             None => return Err(json::MissingFieldError($key.to_string())),
[INFO] [stdout] 54 |         });
[INFO] [stdout] 55 |         ($j:expr, $t:ident, $key:expr, Optional) => (try!($j.find(&*::std::string::as_string($key)).map_or(Ok(None), |r| json_to!(r, $t).ok_or(json::ApplicationError(format!("{} must be a string", $key))).map(Some))));
[INFO] [stdout]  ...
[INFO] [stdout] help: add a semicolon
[INFO] [stdout]    |
[INFO] [stdout] 60 | );
[INFO] [stdout]    |  ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0463]: can't find crate for `serialize`
[INFO] [stdout]  --> src/lib.rs:9:1
[INFO] [stdout]   |
[INFO] [stdout] 9 | extern crate serialize;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^ can't find crate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 8 previous errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0463`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `travis_build`
[INFO] [stderr] 
[INFO] [stderr] To learn more, run the command again with --verbose.
[INFO] running `Command { std: "docker" "inspect" "7f21bd668ced6adce40903fc0ca576f67db18f78d349b7ec31c9d94e38bea793", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7f21bd668ced6adce40903fc0ca576f67db18f78d349b7ec31c9d94e38bea793", kill_on_drop: false }`
[INFO] [stdout] 7f21bd668ced6adce40903fc0ca576f67db18f78d349b7ec31c9d94e38bea793
